It is known to correct conventional errors in data read from a magnetic medium by use of a pointer, and check bytes, and one or more parity checks. These error correction code (ECC) error detection and correction functions are carried out on both write and read operations. These methods for accomplishing the error correction vary, depending on where the error is, the correction capability available in the hardware, system error recovery procedures, and the like. The IBM 3380 Models J and K disk files use a two-level ECC to correct errors and are capable of correcting any single burst error involving two successive bytes (16 bits) in each subblock read from the disk and any error involving four successive bytes (32 bits) in one of the subblock in a block. However, there are instances where the duration of a perturbation and resultant error burst may be 16 bytes or more. This is longer than that of a "conventional" error burst and typically so long that it will exceed the correction capability of the two-level ECC heretofore available without creating a very wasteful design.
While the IBM 3850 Mass Storage Device is capable of correcting long-burst errors in data read from a magnetic tape, the method and apparatus used are not capable of correcting both conventional and long-burst errors in a disk file using a two-level ECC.
There is a need for a method and system capable of correcting both conventional errors and long-burst errors of 16 or more consecutive bytes due to a major perturbation of the signal during reading of data from a magnetic medium, such as a magnetic disk.